﻿// 10156.  战略游戏.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>


/*
https://loj.ac/p/10156

题目描述
Bob 喜欢玩电脑游戏，特别是战略游戏。但是他经常无法找到快速玩过游戏的方法。现在他有个问题。

现在他有座古城堡，古城堡的路形成一棵树。他要在这棵树的节点上放置最少数目的士兵，使得这些士兵能够瞭望到所有的路。

注意：某个士兵在一个节点上时，与该节点相连的所有边都将能被瞭望到。

请你编一个程序，给定一棵树，帮 Bob 计算出他最少要放置的士兵数。

输入格式
输入数据表示一棵树，描述如下。

第一行一个数 N ，表示树中节点的数目。

第二到第 N+1 行，每行描述每个节点信息，依次为该节点编号 i，数值 k，k 表示后面有 k 条边与节点 i 相连，接下来 k 个数，分别是每条边的所连节点编号 r_1,r_2,\cdots ,r_k。

对于一个有 N 个节点的树，节点标号在 0 到 N-1 之间，且在输入文件中每条边仅出现一次。

输出格式
输出仅包含一个数，为所求的最少士兵数。

4
0 1 1
1 2 2 3
2 0
3 0

1


数据范围与提示
对于 100\% 的数据，有 0  < N <=  1500。
*/

int main()
{
    std::cout << "Hello World!\n";
}

 